var _columns = [{checkbox: true},
    {field: 'id', title: '标示符',sortable: true},
    {title: '序号', field: 'showId',sortable: true,
		formatter:function(value,row,index){
			return index+1;
	}},
    {field: 'csName', title: '中文名称',sortable: true},
    {field: 'enName', title: '英文名称',sortable: true},
    {field: 'defination', title: '定义',sortable: true},
    {field: 'dataType', title: '数据类型',sortable: true,
        formatter:function(value,row,index){
            var showtip = null;
            if(row.dataType.charAt(0) == 'V')
                showtip = '字符型';
            else if(row.dataType.charAt(0) == 'N')
                showtip = '小数型';
            else
                showtip = '整数数型';
            return showtip;
        },
    },
    {field: 'unit', title: '单位',sortable: true},
    {field: 'faLevel', title: '组号',sortable: true},
    {field: 'fLevel', title: '所属类别',sortable: true,
    	formatter:function(value,row,index){
    		if(row.faLevel == "1"){
    			return "常规水资源量";
    		}else if(row.faLevel == "2"){
    			return "非常规水资源量";
    		}else if(row.faLevel == "3"){
    			return "重复利用水量";
    		}else if(row.faLevel == "4"){
    			return "其他水量";
    		}
    	}},
]

var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#data_table').bootstrapTable({
            url: '/meta_eva_ctest_sum/select',         //请求后台的URL（*）
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            clickToSelect: true,                //是否启用点击选中行
            uniqueId: "id",                     //每一行的唯一标识，一般为主键列
            columns: _columns,
            sortable: true,                     //是否启用排序
            sortOrder: "desc",                  //排序方式

        });
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
        };
        return temp;
    };
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();

    oInit.Init = function () {
        //初始化页面上面的按钮事件
        //新增按钮
        $("#btn_add").click(function () {
        	$('#newFaLevel').empty()
        	$('#newFaLevel').append('<option value="1">常规水资源量</option>');
        	$('#newFaLevel').append('<option value="2">非常规水资源量</option>');
        	$('#newFaLevel').append('<option value="3">重复利用水量</option>');
        	$('#newFaLevel').append('<option value="4">其他水量</option>');
        	
        	$("#newDataType").empty();
        	$("#newDataType").append('<option value="varchar(256)">字符型</option>');
        	$("#newDataType").append('<option value="float">小数型</option>');
        	$("#newDataType").append('<option value="int">整数型</option>');
        	
        	
        	$('#new_data').modal()
        });
        //搜索按钮
        $('#btn_search').click(function () {
            $('#search_content').val("");
            $('#search_data').modal();

            //$('#data_table').bootstrapTable('remove', {field: 'companyName', values: str})
        });

        //搜索框内的提交
        $('#search_data_submit').click(function() {
            var ids = [];
            var searchContent = $('#search_content').val();
            var data = $('#data_table').bootstrapTable('getData', false);//获取所有数据
            for(var i = 0; i < data.length; i++) {
                var flag = false;
                for(var prop in data[i]) {
                    if(prop == 'csName' || prop == 'enName' || prop == 'defination' || prop == 'dataType' || prop == 'showDataType' || prop == 'unit' || prop == 'faLevel' || prop == 'fLevel' ) {
                        if(String(data[i][prop]).indexOf(String(searchContent)) != -1) {
                            //alert(String(data[i][prop]));
                            flag = true;
                            break;
                        }
                    }
                }
                if(!flag) {
                    ids.push(parseInt(data[i]['id']));
                }
            }
            $('#data_table').bootstrapTable('remove', {'field': 'id', 'values': ids});
            $('#search_data').modal('hide');
        });
       //编辑按钮
        var oldName;
        $("#btn_edit").click(function () {
            var arrselections = $("#data_table").bootstrapTable('getSelections');
            if (arrselections.length > 1) {
                bootoast({
                    message: '只能选择一行进行编辑',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            if (arrselections.length <= 0) {
                bootoast({
                    message: '请选择有效数据',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
//               console.log("编辑");
            $('#editCsName').val(arrselections[0]['csName']);

            $('#editEnName').val(arrselections[0]['enName']);

            oldName=arrselections[0]['enName'];

            $('#editDefination').val((arrselections[0]['defination']).substring(0,10));

            $('#editDataType').val(arrselections[0]['dataType']);

            $('#editUnit').val(arrselections[0]['unit']);

            $("#editFaLevel").val(arrselections[0][_columns[8].field]);


            $('#edit_data').modal();
        });
        // 删除按钮
        $("#btn_delete").click(function () {
            var arrselections = $("#data_table").bootstrapTable('getSelections');
            if (arrselections.length <= 0) {
                bootoast({
                    message: '请选择有效数据',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            values=[];
            for(var i=0;i<arrselections.length;i++)
                values.push(arrselections[i].enName);
            bootbox.confirm({
                message: "确认要删除选择的数据吗？",
                locale: 'zh_CN',
                title: '操作提示',
                callback: function (result) {
                    if (result) {
                        $.ajax({
                            type: "post",
                            url: "/meta_eva_ctest_sum/delete",
                            data: JSON.stringify(values),
                            contentType: "application/json",
                            success: function (data) {
                                if (data['status'] == "success") {
                                    bootoast({
                                        message: '删除成功',
                                        position: 'top',
                                        type: 'success',
                                        timeout: 1.5,
                                    });
                                    $("#data_table").bootstrapTable('refresh');
                                } else {
                                    bootoast({
                                        message: '删除失败\n' + data['msg'],
                                        position: 'top',
                                        type: 'danger',
                                        timeout: 1.5,
                                    });
                                }
                            }
                        });
                    }
                }
            })

        });

        //新增框内的提交
        $('#new_data_submit').on('click', function () {
            var csName = $('#newCsName').val()
            var enName = $('#newEnName').val()
            var defination = $('#newDefination').val()
            var dataType = $('#newDataType').val()
            var unit = $('#newUnit').val()
            var faLevel = $('#newFaLevel').val()
            var message = valid(csName,enName,defination,unit);
            if(enName=='')
                enName='未填写';

            if(unit=='m^3'||unit=='m3')
                unit='m<sup>3</sup>';
            function isValid(str) { return /^\w+$/.test(str); }
            if(!isValid(enName)){
                bootoast({
                    message: '英文名不能有空格',
                    position: 'top',
                    type: 'danger',
                    timeout: 1.5,
                });
                return false;

            }
            if(message == null){
            	$.ajax({
                    type: "get",
                    url: "/meta_eva_ctest_sum/insert",
                    data: {
                        'csName': csName,
                        'enName': enName,
                        'defination': defination,
                        'dataType': dataType,
                        'unit': unit,
                        'faLevel': faLevel
                        
                    },
                    success: function (data) {
                        if (data['status'] == "success") {
                            bootoast({
                                message: '插入成功',
                                position: 'top',
                                type: 'success',
                                timeout: 2,
                            });
                            
                            $("#new_data").modal('hide');
                            $('#newCsName').val("")
                            $('#newEnName').val("")
                            $('#newDefination').val("")
                            $('#newUnit').val("")
                            $('#newFaLevel').val("")
                            $("#data_table").bootstrapTable('refresh');
                        } else {
                            bootoast({
                                message: '插入失败\n' + data['msg'],
                                position: 'top',
                                type: 'danger',
                                timeout: 2,
                            });
                        }
                    },
                    error: function () {
                        bootoast({
                            message: '通讯异常',
                            position: 'top',
                            type: 'danger',
                            timeout: 1.5,
                        });
                    }
                });
            }else{
            	bootoast({
                    message: message,
                    position: 'top',
                    type: 'danger',
                    timeout: 1.5,
                });
            }
            
        })
        //编辑框内的提交
        $('#edit_data_submit').click(function () {
            var id = $("#data_table").bootstrapTable('getSelections')[0]['id'];
            var csName = $('#editCsName').val();
            var enName = $('#editEnName').val();
            var defination = $('#editDefination').val();
            var dataType = $('#editDataType').val()
            var unit = $('#editUnit').val()
            var faLevel = $('#editFaLevel').val()
            if(enName=='')
                enName='未填写';

            if(unit=='m^3'||unit=='m3')
                unit='m<sup>3</sup>';
            function isValid(str) { return /^\w+$/.test(str); }
            if(!isValid(enName)){
                bootoast({
                    message: '英文名不能有空格',
                    position: 'top',
                    type: 'danger',
                    timeout: 1.5,
                });
                return false;

            }
            $.ajax({
                type: "post",
                url: "/meta_eva_ctest_sum/update",
                data: {
                    'id':id,
                    'csName': csName,
                    'enName': enName,
                    'defination': defination,
                    'dataType': dataType,
                    'unit': unit,
                    'faLevel':faLevel,
                    'oldName':oldName
                },
                success: function (data) {
                    if (data['status'] == "success") {
                        bootoast({
                            message: '修改成功',
                            position: 'top',
                            type: 'success',
                            timeout: 2,
                        });
                        $("#edit_data").modal('hide');
                        $("#data_table").bootstrapTable('refresh');
                    } else {
                        bootoast({
                            message: '修改失败\n' + data['msg'],
                            position: 'top',
                            type: 'danger',
                            timeout: 2,
                        });
                    }
                },
                error: function () {
                    bootoast({
                        message: '通讯异常',
                        position: 'top',
                        type: 'danger',
                        timeout: 1.5,
                    });
                }
            });
        });

    };


    return oInit;
};

$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
    
    //3.隐藏列
    $('#data_table').bootstrapTable('hideColumn', 'faLevel');
    $('#data_table').bootstrapTable('hideColumn', 'id');

    queryPermission('元数据/水平衡测试/企业水平衡测试统计表', '新增', 'btn_add')
    queryPermission('元数据/水平衡测试/企业水平衡测试统计表', '编辑', 'btn_edit')
    queryPermission('元数据/水平衡测试/企业水平衡测试统计表', '删除', 'btn_delete')    


});

function valid(csName,enName,definition,unit){
	if(""==csName){
		return "请输入中文名称";
	}
	//if(""==enName){
	//	 return "请输入英文名称";
	// }
	 //if(enName.match("^[a-zA-Z_]+$") == null){
	//	 return "请输入正确的英文名称";
	 //}
	 if(""==definition){
			return "请输入定义";
		}
	 if(""==unit){
			return "请输入单位";
		}
	return null; 
}